package com.example.testClass.LambdaDemo;

import java.time.DayOfWeek;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAdjusters;
import java.util.ArrayList;
import java.util.List;
import java.util.function.IntBinaryOperator;

/**
 * @author: tobed
 * @date: 2022/9/15
 * @time: 15:15
 */
public class ZJX_Lambda {

    public static void main(String[] args) {


        // 获取今天的日期
        LocalDate today = LocalDate.now();
        // 今天是几号
        int dayofMonth = today.getDayOfMonth();
        // 今天是周几（返回的是个枚举类型，需要再getValue()）
        int dayofWeek = today.getDayOfWeek().getValue();
        // 今年是哪一年
        int dayofYear = today.getDayOfYear();
        // 根据字符串取：
        LocalDate endOfFeb = LocalDate.parse("2021-02-28");
        // 严格按照yyyy-MM-dd验证，02写成2都不行，当然也有一个重载方法允许自己定义格式

        // 取本月第1天：
        LocalDate firstDayOfThisMonth = today.with(TemporalAdjusters.firstDayOfMonth()); // 2021-05-01
        // 取本月第2天：
        LocalDate secondDayOfThisMonth = today.withDayOfMonth(2); // 2021-05-02
        // 取本月最后一天，再也不用计算是28，29，30还是31：
        LocalDate lastDayOfThisMonth = today.with(TemporalAdjusters.lastDayOfMonth()); // 2021-05-31
        // 取下月第一天：
        LocalDate firstDayOfNextMonth = lastDayOfThisMonth.plusDays(1); // 变成了2021-06-01
        // 取2017年1月第一个周一：
        LocalDate firstMondayOf2021 = LocalDate.parse("2021-01-01").with(TemporalAdjusters.firstInMonth(DayOfWeek.MONDAY)); // 2021-01-04

        //格式化
        LocalDate today1 = LocalDate.now();
        DateTimeFormatter formatters = DateTimeFormatter.ofPattern("yyyy年MM月dd日");
        String text = today1.format(formatters);
        //ZonedDateTime 带时区的时间对象，听过就行




    }




}
